package com.zhuoyue.system.mapper;

import com.zhuoyue.system.domain.TblAccountAuthorize;

import java.util.List;

import org.apache.ibatis.annotations.Param;

/**
 * @author wjming
 */
public interface TblAccountAuthorizeMapper {
    /**
     * 删除信息通过主键Id
     *
     * @param id
     * @return
     */
    int deleteByPrimaryKey(String id);

    /**
     * 批量删除
     *
     * @param list
     * @return
     */
    int deleteByListId(@Param("list") List<String> list);

    /**
     * 批量逻辑删除
     *
     * @param list
     * @return
     */
    int deleteByListIdUpdateDel(@Param("list") List<String> list);

    /**
     * 添加单条授权信息
     *
     * @param record
     * @return
     */
    int insert(TblAccountAuthorize record);

    /**
     * 添加或修改单条授权信息通过ID
     *
     * @param record
     * @return
     */
    int insertOrUpdate(TblAccountAuthorize record);

    /**
     * 添加或修改授权信息
     *
     * @param record
     * @return
     */
    int insertOrUpdateSelective(TblAccountAuthorize record);

    /**
     * 选择性添加
     *
     * @param record
     * @return
     */
    int insertSelective(TblAccountAuthorize record);

    /**
     * 查询信息通过ID
     *
     * @param id
     * @return
     */
    TblAccountAuthorize selectByPrimaryKey(String id);


    /**
     * 选择性修改
     *
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(TblAccountAuthorize record);


    /**
     * 批量修改数据信息
     *
     * @param list
     * @return
     */
    int updateBatch(List<TblAccountAuthorize> list);

    /**
     * 批量修改
     *
     * @param list
     * @return
     */
    int updateBatchSelective(List<TblAccountAuthorize> list);

    /**
     * 批量添加
     *
     * @param list
     * @return
     */
    int batchInsert(@Param("list") List<TblAccountAuthorize> list);

    /**
     * 查询分页信息
     *
     * @param accountAuthorize
     * @return
     */
    List<TblAccountAuthorize> selectPage(TblAccountAuthorize accountAuthorize);


}